add_mlir_dialect_library(MLIRLinalgTransforms
  BubbleUpExtractSlice.cpp
  BufferizableOpInterfaceImpl.cpp
  Bufferize.cpp
  CodegenStrategy.cpp
  ConstantFold.cpp
  DecomposeLinalgOps.cpp
  Detensorize.cpp
  DropUnitDims.cpp
  ElementwiseOpFusion.cpp
  ElementwiseToLinalg.cpp
  FusePadOpWithLinalgProducer.cpp
  Fusion.cpp
  FusionOnTensors.cpp
  Generalization.cpp
  Hoisting.cpp
  HoistPadding.cpp
  InitTensorToAllocTensor.cpp
  InlineScalarOperands.cpp
  Interchange.cpp
  Loops.cpp
  LinalgStrategyPasses.cpp
  NamedOpConversions.cpp
  Promotion.cpp
  Split.cpp
  SplitReduction.cpp
  Tiling.cpp
  TilingInterfaceImpl.cpp
  Transforms.cpp
  Vectorization.cpp

  ADDITIONAL_HEADER_DIRS
  ${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/Linalg

  DEPENDS
  MLIRLinalgPassIncGen

  LINK_LIBS PUBLIC
  MLIRAffineDialect
  MLIRAffineUtils
  MLIRAnalysis
  MLIRArithmeticDialect
  MLIRArithmeticTransforms
  MLIRArithmeticUtils
  MLIRBufferizationDialect
  MLIRBufferizationTransforms
  MLIRComplexDialect
  MLIRDialectUtils
  MLIRFuncDialect
  MLIRFuncToLLVM
  MLIRFuncTransforms
  MLIRInferTypeOpInterface
  MLIRIR
  MLIRMemRefDialect
  MLIRLinalgDialect
  MLIRLinalgAnalysis
  MLIRLinalgUtils
  MLIRSCFDialect
  MLIRSCFTransforms
  MLIRSCFUtils
  MLIRPass
  MLIRSparseTensorDialect
  MLIRTensorDialect
  MLIRTensorTilingInterfaceImpl
  MLIRTensorTransforms
  MLIRTransforms
  MLIRTransformUtils
  MLIRVectorDialect
  MLIRVectorTransforms
  MLIRVectorUtils
  MLIRX86VectorTransforms
  MLIRVectorToSCF
)
